Federated bluetooth device network with roaming capability

ABSTRACT

A system includes digital media rendering devices and logic to federate the plurality of devices into a single federated rendering device for a proximate mobile device. The system accepts a request from the mobile device for rendering services by the federated rendering device via a rendering protocol.

BACKGROUND

A variety of protocols exist which enable the remote use of speakers,mics, and displays by devices. The Bluetooth wireless protocol providesa convenient way for cell phones to use external microphones andspeakers without any cable attachment. Bluetooth is pervasivelyavailable on most cellphones, in most new cars, and in many headsetproducts. The Airplay wireless procotol provides a convenient way forPCs, mobile devices, or other devices to render their audio and videooutput on a remote display. A similar protocol called Miracast performsthe same function, as does DLNA.

Small devices (sometimes called “Internet of Things” devices) withcameras, mics, and speakers are becoming very cheap, and a wide varietyof products are becoming available. It is reasonable to expect that atypical house or office may have tens or hundreds of devices with micsand speakers. As speaker/microphone devices become very cheap, theremight be one in every room in a house, or even many in a room. Speakersand microphones may become embedded in many other commonly installeddevices—TVs, PCs, tablets, etc. And in the office environment, there maybe one in every room, and conference rooms may have many inexpensivespeakers and mics.

While these devices could work as remote Bluetooth mics and speakers orAirplay speakers, the Bluetooth and Airplay protocols are awkward forthis scenario. A user would have to explicitly pair their phone withmany mics and speakers, and continually link and unlink to the closestmic and speaker. Additionally, if many users want to use the devices asBluetooth mics and speakers, the constant linking and unlinking iscomplicated to manage, with many possibilities for collision andcontention.

‘Sensor’ in this context refers to a device or composition of matterthat responds to a physical stimulus (as heat, light, sound, pressure,magnetism, or a particular motion) and transmits a resulting impulse (asfor measurement or operating a control).

‘Microphone’ in this context refers to an acoustic-to-electrictransducer or sensor that converts sound into an electrical signal. Manymicrophones use electromagnetic induction (dynamic microphone),capacitance change (condenser microphone), piezoelectric generation, orlight modulation to produce an electrical voltage signal from mechanicalvibration.

‘Camera’ in this context refers to a device that records images and/orvideo, either as analog or as digital information signals.

‘Stereo’ in this context refers to sound reproduction that createsdirectionality and audible perspective by using two or more independentaudio channels through a configuration of two or more speakers in such away as to create the impression of sound heard from various directions,as in natural hearing.

‘Speaker’ in this context refers to an electroacoustic transducer thatproduces sound in response to an electrical or optical audio signalinput.

‘Motion detector’ in this context refers to a device that detects movingobjects, often people. A motion detector includes a motion sensor thattransforms input signals indicative of motion in the field of view intoan electric signal. This may be achieved by measuring optical changes inthe field of view.

‘Magnetometer’ in this context refers to a device used to measure thestrength and, in some cases, the direction of magnetic fields.

‘LED’ in this context refers to (light emitting diode) a semiconductorlight source including one or more diodes that when biased releaseenergy in the form of photons.

‘GPS’ in this context refers to (Global Positioning System) aspace-based satellite navigation system that provides location and timeinformation in most weather conditions, anywhere on or near the Earthwhere there is an unobstructed line of sight to four or more GPSsatellites. The system provides critical capabilities to military, civiland commercial users around the world. It is maintained by the UnitedStates government and is freely accessible to anyone with a GPSreceiver.

‘Multimedia’ in this context refers to an image, or a set of images, ora video clip, or a set of video clips, and any audio associated with theimages or video clips.

‘Image’ in this context refers to information captured and stored by adevice representing a visual perception, usually a two-dimensionalpicture. Images may be captured, stored, and communicated by devices ineither analog or digital formats.

‘Video’ in this context refers to information captured and stored by adevice representing a sequence of moving pictures. Video may becaptured, stored, and communicated by devices in either analog ordigital formats.

‘Audio’ in this context refers to a representation of sound within adevice or a physical storage or communication media, typically as eitheranalog or digital signals.

‘API’ in this context refers to (Application Programming Interface) aprotocol for interfacing to and invoking functions and data of logiccomponents. For example, an API may include specification for logicprocedures (functions, routines), data structures, object classes, andvariables.

‘Synchronize’ in this context refers to operating in unison, so that theoperation or occurance of one component or signal is timed to take placeat or close to the operation or occurance of another component orsignal.

‘Monitor’ in this context refers to measuring or recording on an ongoingor recurring basis for a specific purpose.

‘Configure’ in this context refers to setting up for operation in aparticular way.

‘Integrate’ in this context refers to forming, coordinating, and/orblending into a functioning and unified whole.

‘Mechanism’ in this context refers to a process, technique, device, orsystem of devices for achieving a result.

‘Biometric’ in this context refers to a measurement and analysis of aunique physical or behavioral characteristic of an individual, as amechanism of verifying the individual's identity.

‘Coordinate’ in this context refers to a process or configuration ofbringing objects or signals into a common action or condition.

‘Process (Data)’ in this context refers to (data processing) any processthat utilizes device logic to manipulate signals representing numericvalues or symbols into control signals to a circuit, output device, orcommunication media. Data processing may involve recording, analyzing,sorting, summarizing, calculating, disseminating and storing electrical,optical, or magnetic signals representing numbers or symbols.Data-processing devices and systems of devices typically manipulate datasignals to alter the material configuration of machine memory devices orthe behavior of circuits or output devices.

‘Resource (Device)’ in this context refers to any physical or virtualcomponent of limited quantity and/or availability within a device. Everydevice connected to a computer system is a resource. Every internalsystem component is a resource. Virtual system resources of dataprocessing devices include files, network connections and memory areas.

‘Session’ in this context refers to an exchange of signals between twoor more communicating devices, or between a device and a person, thatbegins with an explicit set up procedure and ends at a certain point intime, either implicitly or by being torn down. Signals between thedevices between establishment of the session and the end of the sessionare not part of the session. An established communication session mayinvolve more than one message in each direction. A session is sometimesstateful, meaning that at least one of the communicating parts needs tosave information about the session establishment or history in order tobe able to communicate, as opposed to stateless communication, where thecommunication comprises independent requests with responses and norequirement of stored state to maintain communication.

‘Database’ in this context refers to an organized collection of data(states of matter representing values, symbols, or control signals todevice logic), structured typically into tables that comprise ‘rows’ and‘columns’, although this structure is not implemented in every case.

‘Application (logic)’ in this context refers to logic that causes acomputer to perform tasks beyond the basic operation of the computeritself. The term “application” may be abbreviated in some contexts tosimply “app”. An application may be logic built upon or integrated withoperating system logic. Examples of application logic include enterprisesoftware, accounting software, office suites, graphics software, games,web browsers, and media players. Applications may be bundled with thecomputer and its system software or published separately. Applicationlogic applies the capabilities of a particular computing platform orsystem software to a particular purpose. Some applications are availablein versions for several different platforms; others have narrowerrequirements and are thus called, for example, a Geography applicationfor Windows or an Android application for education or Linux gaming.

‘Operating system (logic)’ in this context refers to logic that managesdevice hardware resources and provides common services for applicationlogic. The operating system is a vital component of many devices, suchas computers and mobile phones. Application logic usually requires anoperating system in order to function. Operating systems typicallymanage utilization of device resources, such as I/O devices, displays,processor utilization, memory, mass storage, and printing. The operatingsystem acts as an intermediary between applications and the hardwareresources, although applications are often (though not always, in thecase of virtual machines) executed directly by the device hardware(e.g., one or more CPUs) and will frequently make system calls to theoperating system, or be interrupted by it. Operating systems can befound on almost any device that contains a programmable processor orcontroller, from cellular phones and video game consoles tosupercomputers and web servers.

‘Distributed (logic)’ in this context refers to logic that cooperativelyexecutes on multiple different devices, separated in space and eachcapable of operating independently of the others. Web services may bedesigned as distributed logic, with many different independent devicesin disparate locations cooperating to provide a common set of features.

‘Web service (logic)’ in this context refers to logic which can beinvoked to provide functionality to network devices at a network addressover the Internet or a private network. A web service providesinteroperable machine-to-machine interaction to make available a set offunctionality over a network.

‘MMOG (logic)’ in this context refers to “Massively Multiplayer OnlineGame”.

‘SOC (logic)’ in this context refers to “System-On-A-Chip”, alsosometimes called PSOC (Programmable System on a Chip), is logic thatintegrates all components of a computer or other electronic system intoa single integrated circuit. The package may comprise digital, analog,mixed-signal, and often radio-frequency functions—all on a singleintegrated circuit substrate. A common use for SOCs is in embeddedsystems.

‘Server (logic)’ in this context refers to logic designed to respond torequests for functionality from client logic that interacts with theserver logic via a request/response model, often over a network. Thus,the server performs some operation utilizing the underlying resources ofthe device or devices hosting the server, on behalf of clients (requestsubmitters). The client logic either executes on the same device ordevices as the server logic, or interacts with the server logic througha machine data network.

‘Data center (logic)’ in this context refers to a facility used to housecomputer systems and associated components, such as telecommunicationsand storage systems. It generally includes redundant or backup powersupplies, redundant data communications connections, environmentalcontrols (e.g., air conditioning, fire suppression) and securitydevices, as well as hundreds or thousands of server systems. Large datacenters are industrial scale operations.

‘Engine (logic)’ in this context refers to logic designed to respond torequests for functionality from applications, and designed to deliverevents to applications. The engine operates independently fromapplications, performing arbitrary processing, and can provide servicesto several applications simultaneously. The engine may response to aspecific request from an application, or may deliver notifications orevents to the application based on actions elsewhere in the system.

‘Game engine (logic)’ in this context refers to logic design to respondto request for functionality from game applications, and designed todeliver events to game applications. The game engine may keep track ofgame state shared by several players, may notify game applications ofthe arrival or departure of players, may forward commands and eventsfrom one player to another, or provide any other services for a game.

‘WiFi’ in this context refers to technology that allows an electronicdevice to exchange data wirelessly (for example, using radio waves) overa computer network, including Internet connections. WiFi can refer towireless local area network (WLAN) communication logic and techniquesthat are based on the Institute of Electrical and Electronics Engineers'(IEEE) 802.11 standards.

‘BlueTooth’ in this context refers to standard IEEE 802.15.1, is awireless technology standard for exchanging data over short distances(using short-wavelength radio transmissions in the ISM band from2400-2480 MHz) from fixed and mobile devices, creating for examplepersonal area networks with levels of security.

‘Ethernet’ in this context refers to a family of computer networkingtechnologies for local area networks (LANs). The Ethernet standardscomprise several wiring and signaling variants of the OSI physicallayer. Ethernet may operate over physical transmission media includingcoaxial cables, twisted pair, and fiber optic. Ethernet divides a streamof data into shorter pieces called frames. Each frame contains sourceand destination addresses and error-checking data so that damaged datacan be detected and re-transmitted. As per the OSI model Ethernetprovides services up to and including the data link layer.

‘Z-Wave’ in this context refers to a wireless communications protocoldesigned for home automation, specifically to remotely controlapplications in residential and light commercial environments. Thetechnology uses a low-power RF radio embedded or retrofitted into homeelectronics devices and systems, such as lighting, home access control,entertainment systems and household appliances. Z-Wave communicatesusing a low-power wireless technology designed for remote controlapplications. The Z-Wave wireless protocol provides reliable,low-latency communication of small data packets. Z-Wave operates in thesub-gigahertz frequency range, around 900 MHz.

‘RFID’ in this context refers to (radio-frequency identification), awireless non-contact system that uses radio-frequency electromagneticfields to transfer data from a self-contained tag attached to an object.Some tags require no intrinsic power source and are powered and read atshort ranges via magnetic fields (electromagnetic induction). Others usean intrinsic or local power source and emit radio waves (electromagneticradiation at radio frequencies). The tag contains electronically storedinformation which may be read from a short distance away. The tag doesnot need to be within line of sight of the reader and may be embedded inthe tracked object.

‘Backhaul’ in this context refers to the intermediate links between anetwork and devices on the edge of the network (i.e., leaf nodes of thenetwork). Backhaul may refer to the portions of a local or intermediatenetwork (e.g., Internet Service Provider) that communicate with theglobal Internet.

‘Mesh network’ in this context refers to a type of device network whereeach node (device) must not only input, store, and disseminate its owndata, but also serve as a relay for other nodes. That is, each devicethat acts as a node in a mesh network must collaborate to propagate datacommunicated from other nodes in the network.

‘Modem’ in this context refers to (modulator-demodulator) a device thatmodulates an analog carrier signal to encode digital information, andalso demodulates such a carrier signal to decode the transmittedinformation.

‘Phone line’ in this context refers to a circuit on a telephonecommunication system, typically referring to the physical wire or othersignaling medium connecting or capable of connecting a telephone deviceto the telecommunications network, and usually associated with atelephone number for addressing communications to and from the connectedtelephone.

‘Cable (Line)’ in this context refers to a physical media fordistributing data, audio streams, and video streams to end devices inhomes and offices via radio frequency (RF) signals transmitted(typically) through coaxial cables or light pulses through fiber-opticcables.

‘Cellular (Device)’ in this context refers to a device that can placeand receive voice communication calls, and typically also communicatenon-voice data, over a radio link while moving around a wide geographicarea. Cellular devices connect to a cellular network provided by acellular system operator (e.g., a phone company), allowing accessthereby to the public (wired communication) telephone network andusually to the global Internet as well.

‘Peer-to-peer’ in this context refers to a device network in which eachdevice acting as a node in the network may act as a client or server forthe other nodes in the network, allowing shared access to variousresources such as files, peripherals, and sensors without necessarilyutilizing a central server device.

‘IP’ in this context refers to (Internet Protocol) a primary protocol inthe Internet protocol suite designed to enable delivery of data packetsfrom a source device to a destination device based on an address (i.e.,an IP address). IP defines datagram structures that encapsulate the datato be delivered. It also defines addressing mechanisms to identify thedatagram source and destination devices.

‘FTP’ in this context refers to (File Transfer Protocol) a standardnetwork protocol to enable the transfer of files (collections of datathat may be stored, referenced, and manipulated as a unit) from onedevice or to another device over a TCP-based network, such as theInternet. ‘TCP’ in this context refers to (Transmission ControlProtocol) a primary protocol of the Internet protocol suite, enablingreliable, ordered delivery of a stream of octets from one device toanother over device networks, such as the Internet.

‘UV’ in this context refers to (ultraviolet) electromagnetic radiationwith a wavelength shorter than that of visible light, but longer thanX-rays, that is, in the range 10 nm to 400 nm, corresponding to photonenergies from 3 eV to 124 eV.

‘IR’ in this context refers to (infrared) electromagnetic radiation withlonger wavelengths than those of visible light, extending from thenominal red edge of the visible spectrum at 0.74 micrometers (μm) to 0.3mm. This range of wavelengths corresponds to a frequency range ofapproximately 430 down to 1 THz,[1] and includes most of the thermalradiation emitted by objects near room temperature.

‘RF’ in this context refers to (radio frequency) a rate of oscillationin the range of about 3 kHz to 300 GHz, which corresponds to thefrequency of electromagnetic radio waves, and the alternating currentswhich carry radio signals. RF usually refers to electrical rather thanmechanical oscillations, although mechanical RF systems do exist.

‘DNS’ in this context refers to (Domain Name Service) an collection ofdevices and logic implementing a hierarchical distributed naming systemfor devices, services (Internet accessible logic), or any resourceconnected to the Internet or a private network. A DNS system translatesdomain names meaningful for users (people using the network) to thenumerical IP addresses needed for the purpose of locating devices,services, and resources worldwide.

‘Web site’ in this context refers to a set of one or more web pagesserved from a single web domain. A web site is presented for access byexternal devices by at least one web server, and accessible via anetwork such as the Internet or a private local area network through anInternet address known as a Uniform Resource Locator.

‘URL’ in this context refers to (Uniform Resource Locator) a characterstring that comprises a reference to a network resource, typically onethat is accessible to a web browser via an interaction with a webserver.

‘Web page’ in this context refers to a file configured for access anddisplay via a web browser over the Internet, or Internet-compatiblenetworks.

‘Web browser’ in this context refers to logic for retrieving, presentingand traversing information resources on the World Wide Web. Aninformation resource is identified by a Uniform Resource Identifier(URI) and may be a web page, image, video or other piece of content.Hyperlinks present in resources enable users easily to navigate theirbrowsers to related resources. A web browser can also be defined as anapplication software or program designed to enable users to access,retrieve and view documents and other resources on the Internet.

‘Web server’ in this context refers to a device or device system thatdelivers web pages in response to requests for the web pages from webbrowsers.

‘Web domain’ in this context refers to an Internet Protocol (IP)resource, such as a personal computer used to access the Internet, a webserver computer hosting a web site, the web site itself, or any otherservice communicated via the Internet.

‘RSS’ in this context refers to (Really Simple Syndication) a family ofdata formats and techniques to publish frequently updated works ofauthorship. An RSS document (which is called a “feed”, “web feed”, or“channel”) may include full or summarized text, plus metadata such aspublishing dates and authorship.

‘Cloud (Network)’ in this context refers to device resources deliveredas a service over a network (typically the Internet).

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is an illustration of logic modules implemented for each deviceof the system.

FIG. 2 is an illustration of a flow of operations performed by each ofthe processes on the device for incoming calls—the pairing process, thetracking process, and the rendering process.

DESCRIPTION

References to “one embodiment” or “an embodiment” do not necessarilyrefer to the same embodiment, although they may. Unless the contextclearly requires otherwise, throughout the description and the claims,the words “comprise,” “comprising,” and the like are to be construed inan inclusive sense as opposed to an exclusive or exhaustive sense; thatis to say, in the sense of “including, but not limited to.” Words usingthe singular or plural number also include the plural or singular numberrespectively, unless expressly limited to a single one or multiple ones.Additionally, the words “herein,” “above,” “below” and words of similarimport, when used in this application, refer to this application as awhole and not to any particular portions of this application. When theclaims use the word “or” in reference to a list of two or more items,that word covers all of the following interpretations of the word: anyof the items in the list, all of the items in the list and anycombination of the items in the list, unless expressly limited to one orthe other.

“Logic” refers to machine memory circuits, machine readable media,and/or circuitry which by way of its material and/or material-energyconfiguration comprises control and/or procedural signals, and/orsettings and values (such as resistance, impedance, capacitance,inductance, current/voltage ratings, etc.), that may be applied toinfluence the operation of a device. Magnetic media, electroniccircuits, electrical and optical memory (both volatile and nonvolatile),and firmware are examples of logic.

Those skilled in the art will appreciate that logic may be distributedthroughout one or more devices, and/or may be comprised of combinationsmemory, media, processing circuits and controllers, other circuits, andso on. Therefore, in the interest of clarity and correctness logic maynot always be distinctly illustrated in drawings of devices and systems,although it is inherently present therein.

The techniques and procedures described herein may be implemented vialogic distributed in one or more computing devices. The particulardistribution and choice of logic will vary according to implementation.

Devices and a system are described which enable a network of monitoringdevices to be federated and act as a single rendering device formultiple concurrent users; these devices are designated “host” devices,as they host the federated rendering service and collectively form the‘federated device’. Devices, such as cell phones requesting therendering service, are designated “client” devices. Client devices mayrequest rendering services from the federated device via a “renderingprotocol” such as Bluetooth, Airplay, DLNA, or any other protocol whichpermits remote rendering.

In one embodiment the system is enabled by a collection of devices, eachof which has sensors, including but not limited to cameras, microphones,motion sensors, accelerometers, and proximity sensors. The devices mayalso incorporate a variety of outputs, including but not limited tovideo, audio, speakers, and LED lights. The devices will have networkconnectivity of some sort, and may utilize AC or battery power. Thedevices may be standalone devices or integrated into other electric andelectronic devices, and may be stationary, movable, or even mobile(drones). The devices can be used alone or in groups. More detail onexemplary logic for the devices that form the federated network isdescribed in Appendix A, “Exemplary Host Device”.

Each host device comprises logic to federate rendering activity. Theremay be an additional service that runs on a central server or networkservice to coordinate and manage the host devices, or thisresponsibility may be distributed across the host devices(peer-to-peer).

Each host device presents its availability as a rendering device via themechanisms of the particular rendering protocol. A client device, suchas a cell phone, pairs and links with the federated device at any one ofthe host devices via the rendering protocol. Each host device respondson demand to any request for rendering service, and provides a virtualdevice name to a cell phone or other client device requesting service.The host devices maintain a shared database of client devices andconnection status. One sequence embodiment of operations for the hostdevice is as follows:

Host device receives request from client for rendering service

Host device checks client ID against database of known client devices

If client has never connected

Create a new client entry in the db

Create a connection with client

Update connection status in db

Else

Create a connection with client

Update connection status in db

The host devices communicate between themselves to keep the shareddatabase synchronized using off-the-shelf database synchronizationsolutions. Multiple users can pair their client devices with hostdevices. To each cell phone or client device, at a protocol level, thenetwork of host devices appears as a single device—a single Bluetoothdevice, or a single Airplay device, etc. If the client device moves, thehost devices cooperate to hand link responsibility off between oneanother. To the client device, this is transparent as each host devicepresents itself as the same virtual paired device. As a client devicemoves from an area serviced by host device A to that serviced by hostdevice B, the handoff occurs as follows:

Host device B detects that client is near

Host device gets connection status from db

Host device B sends request to host device A to drop connection

If host device A responds positively

Host device B creates connection with client

Host device B updates connection status in db

As a user moves through the space covered by the participating hostdevices, the user's location is tracked. This may happen via motiontracking, via voice recognition, via electronic detection of the user'sphone or logins, via integration with the user's calendar, by someexplicit action on the user's part, or by any other mechanism available,and by any combination of these mechanisms. The location of the closesthost device is noted in the shared database.

When the client device wishes to render content to the host devicenearest the user, the host devices cooperate to route the content to thecorrect host device. For instance, when an inbound call arrives, theuser's phone notifies the a host device of the federated device, e.g.host device A, that it is currently linked with via the Bluetoothprotocol that a call has arrived. Host device A reads the user's currentlocation from the shared database, and retrieves the address of the hostdevice serving that user, host device B. Host device A establishes aconnection with host device B and sends the call information to hostdevice B, and host device B presents an inbound call alert—ringing,voice announcement, on-screen alert, or other mechanism. The user canaccept the call by voice command, gesture, or other method ofinteraction with host device B. Host device B updates the shareddatabase, and notifies host device A to complete the call. Incomingaudio is then routed from the phone, over the Bluetooth connection tohost device A, then over the IP network to host device B, and thenrendered at the speaker at that device. Outgoing audio follows thereverse path.

The user can create “do not disturb” rules by time and location. Theseare noted in the shared database, and the host devices will respectthese rules and only attempt to complete calls if permitted. Outboundcalls are initiated by voice, gesture, or other means. Outgoing audio isthen picked up by the mic at host device B, routed over the IP networkto host device A, sent to the phone over the Bluetooth connection, andthen out on the carrier network using the standard telephony services.Incoming audio follows the reverse path.

As the user moves, their location is tracked. Audio for the current callis handed off to closest device continuously.

Host device C detects that user is near

Host device gets connection status from db

Host device C sends request to host device B to drop connection

If host device B responds positively

Host device C creates connection with host device A

Host device C updates connection status in db

As a refinement, this handoff may happen gradually, and rendering mayhappen simultaneously at both device B and device C for a period of timeor within an overlapping service boundary of B and C. The user can alsoexpand or move rendering to additional devices via gesture or otherinterface. For instance, if the user wants audio to be broadcast over 5devices, the user can indicate the 5 devices via some interface (e.g.,an inclusive gesture to a camera federated with the host devices), andaudio will be broadcast over all these.

Multiple users may utilize the system simultaneously. Their phones (orother devices) can each independently pair with a host device, and eachuser will be tracked, and audio can be routed to each user's location.If two users enter the same area for a call, they can optionally mergetheir calls into a single conference call. A host device that iscurrently engaged with rendering a call for user 1 can detect that user2 has entered the area serviced by the host. The users can then indicateby gesture or some other interface that they wish to merge the calls. Ifthe calls are merged, the rendering host:

-   -   will accept incoming audio packets from the two host devices

-   connected to the two user's phones, mix them, and play them over the

-   local speakers;    -   will accept local mic input, mix it with the audio from user 1's

-   phone, and deliver back to the device servicing user 2's phone;    -   will mix local mic input with the audio from user 2's phone, and

-   deliver back to the device servicing user 1's phone.

If the users choose not to merge the calls, then rendering of the newlyarrived user's call will either:

-   -   be suspended until the user leaves the area and is detected by        an

-   idle host device, at which point rendering will start at that device    -   be terminated, breaking the Bluetooth connection.

The system allows a caller to easily use many disparate microphones andspeakers for their calling, without the burden of constantly pairing.The system allows a caller to easily move from one mic/speaker toanother during a call. The system allows many callers to use the sameinstalled based of mics and speakers easily. The system provides aconvenient way to create a conference call.

DESCRIPTION OF ILLUSTRATIONS

FIG. 1 shows the software elements that reside on each element of thesystem. Each device runs a process 101 to manage pairing with phones, aprocess 103 to render output and capture input from the local mic andspeaker, and a process 105 to track users and to update a locationdatabase. Each participating device runs a set of processes. A pairingprocess 101 pairs with a phone 102 and creates a Bluetooth connection110 with the phone or other supported Bluetooth device. The pairingprocess accepts incoming ring signals 104 from the phone and forwardsring events to the render device 108, initiates outbound calls with thephone, and transfers audio to and from the phone 112. The pairingprocess queries the local copy of the location database 106 to determinewhich device to deliver audio and signaling information to.

A rendering process 105 accepts incoming ring signals and audio from apairing process and renders them locally on the local speakers 122. Theprocess 105 gets input from the user to accept calls or to initiatecalls 124. The rendering process takes this call management input, andany microphone input, and delivers it back to the pairing processing 101which is connected to the user's phone 126.

A tracking process 103 keeps track of which users are in the area of thedevice 114 and updates 116 a location database 120. As users changelocation, it shares location change information with other devices sothat the location database is kept up to date 118.

FIG. 2 shows the flow of operations performed by each of the processeson the device for incoming calls—the pairing process 101, the trackingprocess 103, and the rendering process 105. The pairing process 101 oneach device pairs with one or more smartphones 206 using the Bluetoothprotocol. The smartphone 206 delivers a ring signal to the device foreach incoming call. The pairing process 101, on receipt of the ringsignal, queries the location database 120 to determine the currentphysical location of the user. Once the location is determined, thepairing process 101 forwards the ring signal event to the renderingprocess 105 on the device 202 that the user is currently associatedwith, which may be the same device as the pairing process 101 is on. Thepairing process 101 waits for a response from the rendering process 105.When the rendering process 105 indicates that the user has accepted acall, the pairing process 101 establishes a Bluetooth call connectionwith the smartphone 206. The pairing process 101 accepts inbound audiofrom the smartphone 206 and forwards it to the rendering process 105,and accepts outbound audio from the pairing process 101 and forwards itto the smartphone 206. The rendering process 105 accepts an inbound ringsignal from a pairing process 101 and renders it locally on attachedspeakers. It monitors user input, and if the user indicates by anymethod that they wish to accept a call, the rendering process 105communicates this back to the pairing process 101. The rendering process105 then accepts input from the local microphone and forwards it to thepairing process 101, and accepts an audio stream from the pairingprocess 101 and renders it locally on attached speakers. The trackingprocess 103 detects what users are nearby using face recognition, oruser calendar data, or explicit logins, or any other mechanism at itsdisposal. It updates 208 a local database 120 of location information,and forwards changes in user location information to other nodes, andaccepts incoming notices of user location changes and stores this in itsdatabase 120.

Implementations and Alternatives

The techniques and procedures described herein may be implemented vialogic distributed in one or more computing devices. The particulardistribution and choice of logic is a design decision that will varyaccording to implementation.

Those having skill in the art will appreciate that there are variouslogic implementations by which processes and/or systems described hereincan be effected (e.g., hardware, software, and/or firmware), and thatthe preferred vehicle will vary with the context in which the processesare deployed. “Software” refers to logic that may be readily readaptedto different purposes (e.g. read/write volatile or nonvolatile memory ormedia). “Firmware” refers to logic embodied as read-only memories and/ormedia. Hardware refers to logic embodied as analog and/or digitalcircuits. If an implementer determines that speed and accuracy areparamount, the implementer may opt for a hardware and/or firmwarevehicle; alternatively, if flexibility is paramount, the implementer mayopt for a solely software implementation; or, yet again alternatively,the implementer may opt for some combination of hardware, software,and/or firmware. Hence, there are several possible vehicles by which theprocesses described herein may be effected, none of which is inherentlysuperior to the other in that any vehicle to be utilized is a choicedependent upon the context in which the vehicle will be deployed and thespecific concerns (e.g., speed, flexibility, or predictability) of theimplementer, any of which may vary. Those skilled in the art willrecognize that optical aspects of implementations may involveoptically-oriented hardware, software, and or firmware.

The foregoing detailed description has set forth various embodiments ofthe devices and/or processes via the use of block diagrams, flowcharts,and/or examples. Insofar as such block diagrams, flowcharts, and/orexamples contain one or more functions and/or operations, it will beunderstood as notorious by those within the art that each functionand/or operation within such block diagrams, flowcharts, or examples canbe implemented, individually and/or collectively, by a wide range ofhardware, software, firmware, or virtually any combination thereof.Several portions of the subject matter described herein may beimplemented via Application Specific Integrated Circuits (ASICs), FieldProgrammable Gate Arrays (FPGAs), digital signal processors (DSPs), orother integrated formats. However, those skilled in the art willrecognize that some aspects of the embodiments disclosed herein, inwhole or in part, can be equivalently implemented in standard integratedcircuits, as one or more computer programs running on one or morecomputers (e.g., as one or more programs running on one or more computersystems), as one or more programs running on one or more processors(e.g., as one or more programs running on one or more microprocessors),as firmware, or as virtually any combination thereof, and that designingthe circuitry and/or writing the code for the software and/or firmwarewould be well within the skill of one of skill in the art in light ofthis disclosure. In addition, those skilled in the art will appreciatethat the mechanisms of the subject matter described herein are capableof being distributed as a program product in a variety of forms, andthat an illustrative embodiment of the subject matter described hereinapplies equally regardless of the particular type of signal bearingmedia used to actually carry out the distribution. Examples of a signalbearing media include, but are not limited to, the following: recordabletype media such as floppy disks, hard disk drives, CD ROMs, digitaltape, and computer memory.

In a general sense, those skilled in the art will recognize that thevarious aspects described herein which can be implemented, individuallyand/or collectively, by a wide range of hardware, software, firmware, orany combination thereof can be viewed as being composed of various typesof “circuitry.” Consequently, as used herein “circuitry” includes, butis not limited to, electrical circuitry having at least one discreteelectrical circuit, electrical circuitry having at least one integratedcircuit, electrical circuitry having at least one application specificintegrated circuit, circuitry forming a general purpose computing deviceconfigured by a computer program (e.g., a general purpose computerconfigured by a computer program which at least partially carries outprocesses and/or devices described herein, or a microprocessorconfigured by a computer program which at least partially carries outprocesses and/or devices described herein), circuitry forming a memorydevice (e.g., forms of random access memory), and/or circuitry forming acommunications device (e.g., a modem, communications switch, oroptical-electrical equipment).

Those skilled in the art will recognize that it is common within the artto describe devices and/or processes in the fashion set forth herein,and thereafter use standard engineering practices to integrate suchdescribed devices and/or processes into larger systems. That is, atleast a portion of the devices and/or processes described herein can beintegrated into a network processing system via a reasonable amount ofexperimentation.

The foregoing described aspects depict different components containedwithin, or connected with, different other components. It is to beunderstood that such depicted architectures are merely exemplary, andthat in fact many other architectures can be implemented which achievethe same functionality. In a conceptual sense, any arrangement ofcomponents to achieve the same functionality is effectively “associated”such that the desired functionality is achieved. Hence, any twocomponents herein combined to achieve a particular functionality can beseen as “associated with” each other such that the desired functionalityis achieved, irrespective of architectures or intermedial components.Likewise, any two components so associated can also be viewed as being“operably connected”, or “operably coupled”, to each other to achievethe desired functionality.

Exemplary Host Device(s)

A monitoring device. This could be in many different form factors,including but not limited to:

a smoke alarm sized unit, which can be installed in place of an existingsmoke alarm

an electrical switch-box sized unit, which can be installed in anexisting electrical switchbox

an OEM product integrated into a TV or other appliance

a light-bulb shaped unit which can be placed in a light socket

a standalone unit which can be placed freely anywhere in a room

a personal computer, tablet, mobile phone or game console

a web cam or similarly shaped device

a drone unit which can independently move throughout an area—a rollingunit, or an aerial unit

The device includes an array of sensors: any combination of

integrated smoke sensor

heat sensor

microphone or stereo microphones or microphone array

multiple stereo cameras or range cameras or 3 d cameras (potentially 4,pointing NSEW)

motion detector

magnetometer

infrared thermometer

proximity or distance sensors

low light imaging sensors such as IR or sonar, GPS receiver

The device includes provisions for output: any combination of

Integral speakers

Audio output, either analog or digital

Display LEDs

An integral screen display

Video output such as VGA, HDMI, or other

Drone units also include hardware for moving—rolling or flying.

The device includes a network connection including but not limited to:

WiFi access point with a backhaul channel implemented over wiredEthernet

over power transmission wires

via WiFi “mesh” (peer-to-peer with other co-located WiFi devices, andwirelessly terminating at a modem, phone line, cable line, or otherwired transmission media)

a cellular radio as a back-up communication source if a primarycommunication media fails due to a power or service outage, or due totampering.

Bluetooth to a Bluetooth access point or personal area network

other radio frequency system

other hard wired system

the connection may be intermittent so the device can operate in adisconnected fashion

The device may be

A/C powered

powered over Ethernet or other low voltage DC means

powered using rechargeable batteries. The battery may be easily swappedout for a replacement battery and if the device is autonomous, can useinductive charging so that human intervention is not required torecharge batteries.

The product can be deployed in many ways, in either stand-alone mode orin a multi-unit cooperative mode:

A single stationary device monitoring a room

Multiple stationary devices monitoring multiple rooms

Multiple stationary devices monitoring the same space or overlappingspaces.

A single mobile device, the device being autonomously mobile

Multiple mobile devices

Some combination of mobile devices and stationary devices

Stationary devices can also be moved by the device owner to providemonitoring in different areas at different times.

In all cases, companion PC and tablet applications may exist to completethe service.

A device may replace an existing smoke alarm, or an existing set oflight switches, or light bulb. It should be installed in a location withgood optical visibility of the area it is intended to monitor. The unitmay provide a customizable case, enabling the installation of customveneers/covers.

What is claimed is:
 1. A system comprising: a plurality of digital mediarendering devices; non-transitory logic to federate the digital mediarendering devices into a single federated rendering device configuredfor utilization by a proximate mobile device for rendering digitalmedia; non-transitory logic to accept a request for rendering servicesfrom the proximate mobile device to the single federated renderingdevice via a rendering protocol; non-transitory logic to track physicalmovement of the proximate mobile device and to implement a hand-off ofrendering of audio from the proximate mobile device continuously to adevice of the digital media rendering devices physically closest to theproximate mobile device; and non-transitory logic to implement thehand-off in a graduated fashion, with rendering of the audio from theproximate mobile device occurring simultaneously from more than one ofthe digital media rendering devices for a period of time or within anoverlapping service boundary of the more than one of the digital mediarendering devices.
 2. The system of claim 1, the rendering protocolbeing one or more of Bluetooth, Airplay, or DLNA.
 3. The system of claim1, wherein each of the digital media rendering devices comprises thelogic to federate rendering of the digital media.
 4. The system of claim1, further comprising: a server system comprising non-transitory logicto coordinate and manage the rendering devices.
 5. The system of claim1, further comprising: non-transitory logic to respond to the requestfor rendering services with a virtual device name.
 6. The system ofclaim 1, further comprising: a shared database configured forutilization by the single federated rendering device and comprising aconnection status for each of a plurality of mobile devices comprisingthe proximate mobile device.
 7. The system of claim 6, furthercomprising: non-transitory database synchronization logic to maintainthe shared database in a synchronized state.
 8. The system of claim 1,further comprising non-transitory logic to coordinate the digital mediarendering devices to hand off link and rendering responsibility for theproximate mobile device between the digital media rendering devices. 9.The system of claim 1, further comprising: non-transitory logic toimplement within the single federated rendering device “do not disturb”rules for the proximate mobile device by time and location.
 10. Thesystem of claim 1, further comprising: non-transitory logic to expand ormove rendering of the audio from the proximate mobile device toadditional devices of the digital media rendering devices via gestures.11. The system of claim 1, further comprising: logic to detect aplurality of mobile devices in a same physical area and to merge callsto the plurality of mobile devices in a same physical area into a singlerendering of a conference call.